home *** CD-ROM | disk | FTP | other *** search
Makefile | 1994-08-12 | 3.9 KB | 128 lines |
- #------------------------------------------------------------------------------
- # Makefile for UnZip 5.11 and later Greg Roelofs and others
- # Version: Microsoft C (5.x and later) 11 August 1994
- #------------------------------------------------------------------------------
-
- # Users of MSC 6/7 and NMAKE can use the Unix Makefile (target msc_dos),
- # if desired. This makefile works just fine, too, however. OS/2 users
- # can cross-compile using os2/makefile.os2 (target mscdos). Note that
- # there is possibly a bug in MSC 6 which screws up funzip (goes into
- # infinite loop? --this has not been confirmed in over a year...). There
- # is definitely a bug (internal compiler error) in MSC 6.00 while com-
- # piling explode.c (fixed in 6.0a, 6.0ax, 6.0ax2, 7.*, 8.*).
-
-
- # GNU make doesn't like the return value from "rem"
- #STRIP=rem
- STRIP=echo Ignore this line.
- # If you don't have LZEXE or PKLITE, get one of them. Then define:
- #STRIP=lzexe
- # or
- #STRIP=pklite
- # and remove /e from LDFLAGS. This makes a big difference in
- # .exe size (and possibly load time).
-
- # Optional nonstandard preprocessor flags (as -DCHECK_EOF or -DDOS_WILD)
- # should be added to the environment via "set LOCAL_UNZIP=-DFOO" or added
- # to the declaration of LOC here:
- LOC = $(LOCAL_UNZIP)
-
- # small model (should work now, but if problems, use L)
- MODEL=S
-
- CC = cl # -Ox does not work for inflate.c
- # add -G2(3,4) for 286 (386, 486) and/or -FPi87 for 80x87:
- CFLAGS = -nologo -DMSC $(LOC) -Oait -Gs -I.
-
- LD = link
- LDFLAGS = /nologo/noi/e/st:0x0c00 # remove /e if you have LZEXE or PKLITE
- LDFLAGS2 = ,$*;
-
- OBJS1 = unzip.obj crypt.obj envargs.obj explode.obj extract.obj file_io.obj
- OBJS2 = inflate.obj match.obj unreduce.obj unshrink.obj zipinfo.obj
- OBJS3 = msdos.obj
- OBJS = $(OBJS1) $(OBJS2) $(OBJS3)
-
- OBJX = unzip_.obj crypt.obj extract_.obj file_io.obj inflate.obj match.obj\
- msdos_.obj
-
- OBJF = funzip.obj crypt_.obj inflate_.obj
-
-
- default: unzip.exe funzip.exe unzipsfx.exe
-
- .c.obj:
- $(CC) -c -A$(MODEL) $(CFLAGS) $*.c
-
- crypt.obj: crypt.c unzip.h crypt.h zip.h
-
- crypt_.obj: crypt.c unzip.h crypt.h zip.h
- $(CC) -c -AS $(CFLAGS) -DFUNZIP -Focrypt_.obj crypt.c
-
- envargs.obj: envargs.c unzip.h
-
- explode.obj: explode.c unzip.h
-
- extract.obj: extract.c unzip.h crypt.h
-
- extract_.obj: extract.c unzip.h crypt.h
- $(CC) -c -A$(MODEL) $(CFLAGS) -DSFX -Foextract_.obj extract.c
-
- file_io.obj: file_io.c unzip.h crypt.h tables.h
-
- funzip.obj: funzip.c unzip.h crypt.h tables.h
- $(CC) -c -AS $(CFLAGS) funzip.c
-
- inflate.obj: inflate.c unzip.h
-
- inflate_.obj: inflate.c inflate.h unzip.h crypt.h
- $(CC) -c -AS $(CFLAGS) -DFUNZIP -Foinflate_.obj inflate.c
-
- match.obj: match.c unzip.h
-
- msdos.obj: msdos/msdos.c unzip.h
- $(CC) -c -A$(MODEL) $(CFLAGS) msdos/msdos.c
-
- msdos_.obj: msdos/msdos.c unzip.h
- $(CC) -c -A$(MODEL) $(CFLAGS) -DSFX -Fomsdos_.obj msdos/msdos.c
-
- unreduce.obj: unreduce.c unzip.h
-
- unshrink.obj: unshrink.c unzip.h
-
- unzip.obj: unzip.c unzip.h crypt.h version.h
-
- unzip_.obj: unzip.c unzip.h crypt.h version.h
- $(CC) -c -A$(MODEL) $(CFLAGS) -DSFX -Founzip_.obj unzip.c
-
- zipinfo.obj: zipinfo.c unzip.h
-
-
- # MS make:
- # -------
- unzip.exe: $(OBJS)
- echo $(OBJS1)+ > unzip.rsp
- echo $(OBJS2)+ >> unzip.rsp
- echo $(OBJS3); >> unzip.rsp
- $(LD) $(LDFLAGS) @unzip.rsp
- del unzip.rsp
- $(STRIP) unzip.exe
-
- # better makes which know how to deal with 128 char limit on command line:
- # -----------------------------------------------------------------------
- #unzip.exe: $(OBJS)
- # $(LD) $(LDFLAGS) $(OBJS) $(LDFLAGS2)
- # $(STRIP) unzip.exe
-
- # both makes:
- # ----------
- funzip.exe: $(OBJF)
- $(LD) $(LDFLAGS) $(OBJF) $(LDFLAGS2)
- $(STRIP) funzip.exe
-
- unzipsfx.exe: $(OBJX)
- echo $(OBJX), $@; > unzipsfx.rsp
- $(LD) $(LDFLAGS) @unzipsfx.rsp
- del unzipsfx.rsp
- $(STRIP) unzipsfx.exe
-